package com.sdtv.basemodule.image;

import android.content.Context;
import android.widget.ImageView;

/**
 * @ProjectName: MediunFusion
 * @Package: com.sdtv.basemodule.image
 * @ClassName: ImageLoaderInterface
 * @Description: j图片加载的基类
 * --所有的图片加载方法实现该类，只是封装了简单的加载方法，
 * 自行扩展
 * @Author: 小郭同学
 * @CreateDate: 2019-07-08 16:48
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public interface ImageLoaderInterface {


    void setImageConfig(ImageConfig imageConfig);

    /**
     * 加载网络图片
     *
     * @param imageView 加载图片控件
     * @param url       图片地址
     */
    void loadImageFromNet(Context context, ImageView imageView, String url);

    /**
     * 加载本地图片
     *
     * @param imageView 加载图片控件
     * @param filePath  文件路径
     */
    void loadImageFromSd(Context context, ImageView imageView, String filePath);

    /**
     * 加载资源文件
     *
     * @param imageView  加载图片控件
     * @param resourceId 资源文件ID
     */
    void loadImageFromAssert(Context context, ImageView imageView, int resourceId);

    /**
     * 从网络加载图片
     *
     * @param imageView     加载图片的控件
     * @param url           URL地址
     * @param placeHolderId 占位符 默认图
     * @param errorId       错误默认图
     * @param radius        图片圆角角度
     * @param scaleType     加载图片的方式
     */
    void loadImageFormNet(Context context, ImageView imageView, String url, int placeHolderId,
                          int errorId, int radius, ImageView.ScaleType scaleType);


    /**
     * 从本地加载图片
     *
     * @param imageView     加载图片的控件
     * @param filePath      文件路径
     * @param placeHolderId 占位符 默认图
     * @param errorId       错误默认图
     * @param radius        图片圆角角度
     * @param scaleType     加载图片的方式
     */
    void loadImageFormSd(Context context, ImageView imageView, String filePath, int placeHolderId,
                         int errorId, int radius, ImageView.ScaleType scaleType);


    /**
     * 加载网络圆形图片
     *
     * @param context   上下文环境
     * @param imageView 图片控件
     * @param url       图片网络地址
     */
    void loadCircleImgFromUrl(Context context, ImageView imageView, String url);

    /**
     * 加载本地原型图片
     *
     * @param context   上下文环境
     * @param imageView 图片控件
     * @param filePath  图片SD卡地址
     */
    void loadCircleImgFromSd(Context context, ImageView imageView, String filePath);

    /**
     * 加载圆角图
     *
     * @param context   上下文环境
     * @param imageView 图片控件
     * @param url       网络图地址
     * @param radius    圆角大小
     */
    void loadImgWithRadius(Context context, ImageView imageView, String url, int radius);


}
